当本地化遇上代码:游戏本地化中的JS文档解密指南
Hi,你好呀,我是May。
继续分享关于本地化过程中遇到的各种文档格式,嘻嘻还是关于游戏本地化(最近比较偏爱我的游戏客户们嘻嘻嘻~)~
前段时间有家游戏客户 PM 问我说,“现在需要把网站进行本地化,那么网站本地化语言包中的 js 文档如何翻译?”
今天聊聊~
1. 查看游戏本地化语言包中的 js 文本
我记得我第一次在接触 .js
后缀的文件时,第一反应是“咦,听上去和 json
有点相似,是一个东西吗?”
——不知道诶,我又不是搞开发的我不知道~管它呢,先用 VSCode 这样的文本编辑工具打开看看,本地化语言包中的 js 文档长这样:
(不是所有的 js 格式文件都长这样,只有待本地化语言包中是这样的~)
在 JSON 文件如何进行翻译与本地化 一文中,我曾经分享过 JSON 文件:
JSON,全称是 JavaScript Object Notation),是一种轻量级的数据交换格式,指的是用于在 JavaScript 处理中描述对象的格式。
用 VSCode 这样的文本编辑工具打开后 JSON 文档长这样:
很相似~非常相似~
那,什么是js
呢?和 json
又有什么关系呢?
JS
,全称 JavaScript,是一种脚本语言(脚本语言是一种轻量级的编程语言),被设计用来向 HTML 页面添加交互行为,通常被直接嵌入 HTML 页面。——摘自“JavaScript 初级教程 (w3school.com.cn)。
emmmm~猛地一看好像没看懂~
没关系,我还是那句话:我们本地化人员不是程序员,不需要会写,只要知道哪些该翻译哪些不要动就行!
为什么我这里没有过多解释呢?——因为你大概是一个开发小白,而我虽然懂一nainai编程,但我半吊子出身还没想好怎么才能通俗易懂地跟你解释,我怕从渊源跟你讲你容易懵逼,所以嘛~等我写几篇关于本地化的文档之后,你有了一点点编程基础,我们再细细解释~
2. memoQ 如何帮助处理 js 文档
所以,这个文档,我们直接导入,发现,和昨天分享的 VDF 一样,提示“未知过滤器”。
那怎么解决问题呢?——我之前说过,memoQ 支持所有的可编辑文本。
既然默认过滤器无法导入,那我们可以换一个思路,所有的文本格式都可以用正则文本过滤器来导入。
2.1 用正则表达式文本过滤器解析 js 文档
所以在这里,我们的操作为:
Step 1:点击 ① ”导入”的下拉菜单 -> 找到“选择性导入” -> ② 找到该文档的路径 -> ③ 选择所有文件 -> ④ 找到该文件 -> 打开;
默认js文件是不显示在列表中的,所以需要切换到所有文件,才可以显示所有文件~
这时,会弹出“文档导入选项"窗口,仍然是提示该过滤器为”未知过滤器“。
其实你也可以直接在这里设置,但是我讲选择性导入的原因是为了告诉你:如果找不到该文件怎么破?所以,“所有文件”才是上面我分享选择性导入的原因~
Step 2:这时,我们选择“更改过滤器和配置” -> 弹出“文档导入设置”窗口。这里选择正则表达式文本过滤器,并设置该过滤器:
(1)js是以结构化文本,所以我们在段落分隔符中选择“换行符”;
(2)在“包含/排除”下,① 定义要导入的内容 -> ② 设置正则表达式 -> ③ 添加后 -> ④ 即可看到设置好的规则列表;
这里我要翻译的文本结构像json,即:
"key": "text",其中:
"key" 是键,可以理解为说明型文本不翻译;
"text" 是值,要翻译的文本。
(3)在预览中可以预览导入效果:
红色为未导入的部分,
绿色为导入的内容。
(4)设置完成后,保存过滤器。
确定导入~
确定导入后:
2.2 打开文件进行检查并翻译
这时,我们把文档打开进行编辑后发现:该文档待翻译的内容就顺利导入啦~
2.3 译后导出译文进行检查
翻译完成后,我们导出译文检查一下:
这里我直接用了机器翻译的结果~
关于机器翻译预翻译,详见:解密预翻译的奥秘与技巧,提升翻译效率!
半搞定啦~
同样留作业:为什么我说半搞定呢?检查译文还有哪个注意事项呢?——本地化的同学快来回~~
关于正则表达式如何写
如果你想学正则,提供学习思路:
要掌握基础的正则表达式,比如
.
、*
、?
还有[]
分别是什么含义?(会了基础,就可以ASK GPT啦~)要知道memoQ中正则的应用~
去看我的webinar:职业译员玩转翻译技术——正则表达式
本文涉及的正则有:
当然,系统文字学习,参考我写的:面向译员和PM的正则表达式指南
好啦,希望你上内容可以帮到你,有用可收藏~
更多翻译技术干货,欢迎关注职业译员玩转翻译技术公众号,嘻嘻~
喜欢可以星标哦~
下次见啦,拜~